DevOps Pillars

Learn about the pillars of DevOps: culture, process, and technology.

The pillars of DevOps are:

  • Culture
  • Process
  • Technology



  • High-trust culture
  • Dev and Ops collaboration 
  • Shared responsibilities and incentives
High-trust cultureDev a...
Culture
Culture
  • Continuous improvement
  • Experimentation 
  • Lean/agile software development
Continuous improvementExpe...
Process
Process
Technology
Technology
  • Continuous Integration 
  • Continuous delivery
  • Version Control
  • Agile SDLC management
Continuous Integration Con...
Viewer does not support full SVG 1.1
The pillars of DevOps are culture, process, and technology

Culture#

Traditionally, organizations focus on specialization. Development teams write code, operations teams run servers, and strict processes and controlled communications channels manage the interaction between them. The distance created by this silo model between Dev, Ops, security, and other IT groups feeds into the low-trust, dysfunctional relationships discussed earlier.

Note: DevOps is also becoming known as DevOpsSec in an effort to emphasize the need to weave security concerns into every phase of software delivery.

DevOps vs. traditional methods#

DevOps is a very different way of working compared to traditional methods. Teams share responsibility for all the systems they develop and support. Developers are on-call for production outages. Operations team members sit in on development meetings to offer feedback and learn how the software they support is developed. Information security professionals are involved at the earliest phases of development and throughout the entire development cycle. No system is conceived, designed, developed, or supported without participation from each role.

Planning
Planning
Analysis
Analysis
Developement
Developement
Testing
Testing
Implementation
Implementation
Maintenance 
Maintenance 
Design
Design
System Development Lifecycle
System Development Lifecycle
Viewer does not support full SVG 1.1
System development lifecycle

Central concept in DevOps#

Breaking down the organizational silos between all software development value stream contributors is a central concept in DevOps. Developers and operations team members are often unaccustomed to working together, which can be awkward and uncomfortable at first. As teams begin to work together and build trust, they play for the same team instead of working at cross-purposes. This shift in culture must be supported at the highest levels of management. DevOps culture takes root and succeeds only after all these groups are incentivized to work together.

Process#

The following are the processes of DevOps:

  • Key concept
  • Improvement and management
  • Agile software

Key concept#

Continuous improvement, known as kaizen in lean, is another key concept of DevOps, in which IT staff members constantly and thoroughly examine the way they perform their work. Waste and inefficiency are aggressively sought out and identified. Targets for improvement are set, and individual teams can use a scientific approach to meeting them through experimentation.

Improvement and management#

Continuous improvement is carried out by making small changes to existing processes and then measuring the results. This experimentation is necessary to improve existing processes and maintain a constant workflow through value streams. Project and process management organizations must have the training and resources to make space for this type of experimentation without impeding it through red tape and administrivia. The process of managing change must also be efficient and effective.

Agile software#

Agile software practices, including kanban, scrum, and XP, have been used for over fifteen years. DevOps is, in large part, an extension of agile methods. So, can one be DevOps without also being agile? It’s possible but far from ideal. DevOps can offer value in that scenario, but it’s limited.

The purpose of DevOps is to keep a constant flow of work moving to the customer. Agile provides a constant flow of work from development. Without agile, DevOps automates a process (software delivery) that only occurs two to four times a year. DevOps and agile can support high velocity, up to hundreds of deployments or more a day. High-performing organizations in various industries have used DevOps practices to achieve high velocities.

Technology#

This course is focused on the technology pillar. The technology of DevOps is focused on one primary theme: automation.

Automation has created revolutions in many industries, especially the manufacturing industry. The lean foundations of agile and DevOps originated in the auto manufacturing industry. Software delivery is similar, in key ways, to manufacturing, which is why those lean methods apply so well. It follows naturally that automation offers similar benefits in velocity and reliability when delivering software.

What is DevOps?

DevOps Automation